package main

import (
	"fmt"
	"time"
)

func main() {
	ints := make(chan int)

	go func() {

		for i := 0; i < 5; i++ {

			time.Sleep(time.Second)
			ints <- i
		}
		close(ints) //告诉程序我这个管道停止接收程序了

	}()
	fmt.Println("管道阻塞等待管道传进数据")

	for {
		fmt.Println("1111")
		a, ok := <-ints //当管道被关闭后ok就会变成false可以通过判断ok来检测管道是否关闭及时结束程序
		if !ok {

			fmt.Println("程序结束")
			break
		} else {
			fmt.Println(a)
		}

	}

	fmt.Println("接收到数据后程序结束")

}
